/*-------------------------------------------------------------------------

***************** Modification History ***********************************
   @doc
   @module Multiling.h - Header files for Multi lingual support functions |
   @end
 * 2     11/04/99 21:00a Vipin_k1
 *  Headers added
 * 1     11/04/99 11:32a Vipin_k1
 *  Created
**************************************************************************
   
$Log: /SoftPay/SPK2SIM/Source/Include/Multilng.h $ 
 * 
 * 10    3/21/00 4:26p Jim_b4
 * 
 * 9     3/18/00 11:24p Vipin_k1
 * Added the prototype and #defines for the custom log display function
 * 
 * 8     3/16/00 6:34p Jim_b4
 * Code security functionality added
 * 
 * 7     3/14/00 7:58a Vipin_k1
 * Added  functions for display of data string
 * 
 * 6     3/11/00 8:11p Vipin_k1
 * Added the inMLDisplayAt() function for generic multi lingual display
 * usage
 * 
 * 5     3/06/00 7:46a Vipin_k1
 * disabling unused functions
 * 
 * 4     11/13/99 3:30a Vipin_k1
 * Added multi lingual parsing routines.
 * 
 * 3     11/05/99 4:22p Dom_b1
 * 
 * 2     11/05/99 10:46a Vipin_k1
 * Added function headers
 **************************************************************************

   Copyright (C) 1999 by VeriFone, Inc.

   All rights reserved.  No part of this software may be reproduced,
   transmitted, transcribed, stored in a retrieval system, or translated
   into any language or computer language, in any form or by any means,
   electronic, mechanical, magnetic, optical, chemical, manual or otherwise,
   without the prior written permission of VeriFone, Inc.

---------------------------------------------------------------------------*/

#ifndef VSMULTILNG_H

#define VSMULTILNG_H

#define ML_DUMMY_FONT                        (-3)
#define ML_USE_GIVEN_FONT                    (-2)
#define ML_USE_DEFAULT_LANG                  0
#define ML_USE_CURRENT_LANG                  (-1)
#define ML_SUCCESS                           0
#define ML_MENU_FONT                         0
#define ML_ACTION_FONT                       1
#define ML_TRUNCATE                          1
#define ML_SCROLL                            0

#define ML_ERR_UNABLE_TO_SET_FONT            (-10)
#define ML_ERR_INVALID_FONT_NAME             (-11)
#define ML_ERR_LCT_ERROR                     (-12)
#define ML_ERR_UNABLE_TO_RESET_FONT          (-13)
#define ML_ERR_INVALID_MESSAGE               (-14)
#define ERR_LOGO_TOO_BIG					 (-15)
#define ERR_LOGO_TOO_WIDE_FOR_GRID			 (-16)
#define ERR_LOGO_TOO_TALL_FOR_GRID			 (-17)
#define ERR_INVALID_LOGO_SIZE				 (-18)
#define ERR_INVALID_LOGO_NAME				 (-19)

#define ML_DEFAULT								0
#define ML_RIGHT								1
#define ML_LEFT									2
#define ML_CENTER								3

#define CHARS_8X21								0
#define CHARS_8X16								1
#define CHARS_4X8								2

extern int inMLDisplayAt (int inX, int inY, char *pszMsg, 
						  int inClearOption, int inLangIndex, 
						  int inFontSize, char *pszFontName);
extern void vdDisplayDataStr(char *, int, int, int);
extern int inDisplayCustLogo (int, int, char *, int, int, int, int);

int MULTILNG_CODE_CHECK(char * a,char *b,short *  c,char * d,unsigned char * e);

#if 0

#define MAX_MSG_SIZE                   25 
#define MAX_BYTE_ADDR_SIZE              2
#define MAX_TOT_BYTE_ADDR_SIZE         90   /* Menu separation */
#define MAX_LANG_TEMPLATE_SIZE          4   /* e.g. ENGL */
#define BIG_FONT_2B_TYPE                2
#define BIG_FONT_1B_TYPE                1
#define NORMAL_FONT                     0

#define ERR_NO_EMBEDDED_MSG          (-1)
#define ERR_UNSUPPORTED_FONT_TYPE    (-2)            
#define ERR_MSG_TOO_LONG             (-3) 
#define ERR_INVALID_LCT_INDEX        (-4)
#define ERR_INVALID_MSG              (-5)

/*
 * These are the prototypes for the Multi lingual routines.
 */

extern int inGetEmbeddedMessageLength (unsigned char *, int);
extern int inGetEmbeddedMessageSize (unsigned char *, int);
extern void vdDisplayEmbeddedMessage(int, int, unsigned char *, int, int);
extern int inDisplayMultilangMessage(int, int, unsigned char *, int, int, VS_BOOL);
extern int inDisplayMultilangName(int, int, int, int, VS_BOOL);

extern void vdFormatChoiceMultiLangStr(unsigned char *, unsigned char *, int , int, int);
extern int inGetDelimiterLoc(unsigned char*, unsigned char, int, int);
extern int inGetNumberOfDelimiters(unsigned char*, unsigned char, int, int);

#endif /* 0 */

#endif /* VSMULTILNG_H */
